Computer-Implemented System And Method For Managing A Context-Sensitive Sidebar Window

ABSTRACT

A computer-implemented system and method for managing a context-sensitive sidebar window is provided. Contextual information relevant to an electronic document is determined. A portion of the determined contextual information is presented in a sidebar window. A display of the context-sensitive sidebar window is managed by automatically opening the context-sensitive sidebar window when the electronic document is opened and automatically closing the context-sensitive sidebar window when the document is closed.

CROSS-REFERENCE TO RELATED APPLICATION

This patent application is a continuation of U.S. patent application,Ser. No. 12/570,733 filed Sep. 30, 2009, pending, the priority filingdate of which is claimed, and the disclosure of which is incorporated byreference.

FIELD

This application relates in general to application contextualinformation provisioning and, in particular, to a system and method forproviding context-sensitive sidebar window display on an electronicdesktop.

BACKGROUND

Business relationships and communications are driven by productivitysoftware used in the creation of documents and other written exchangesbetween organizations and individuals. Commonly, productivity software,such as word processing, spreadsheet, email, presentation, and Webbrowsing applications, are installed on personal computers and similarprogrammable devices.

Each personal computer or computing device provides a computing systemenvironment within which content can be presented, manipulated, andmodified. Provisions for accessing the content and controlling anapplication are provided through a graphical user interface using asingle or combination of application windows, within which text can beentered through a keyboard and the application controlled through thekeyboard or by a pointing device, such as a mouse, track pad, ortrackball. Other user input and control devices are possible.

Application-specific controls are generally provided as an integral partof the screen interface and are presented along the top, bottom, or sidemargins of a main application window through buttons, toggles, scrollboxes, pull-down menus, and other user controls, which manage programoptions, user selections, and environmental information. Extendedinformation is often provided through visually-separate windows, such aspop-up dialog or adjacently-appearing sidebar windows, through whichhelp, tutorial, file system navigation, file property, and othersupplemental information is presented.

In particular, sidebar-style windows can provide valuable context aboutdocuments currently in use. Ideally, the value of the informationprovided inside a sidebar should offset the cost of the distraction interms of screen space and time spent glancing over to the sidebar fromthe main application window. If poorly styled, a sidebar can bedistracting to a user. For example, the physical distance of a sidebarfrom the primary material in use can be critical due to the limitedscreen space available to an application. Placing a sidebar too distantfrom the primary material may require both considerable eye travel andsignificant pointer device travel, which reduces the information's valueand the usefulness of interacting with the sidebar. As well, thematerial relevance of information in a sidebar is frequently removedfrom the immediate state of the current task and often not sufficientlyrelated to the immediate task at hand to warrant causing userdistraction. Finally, visual “bouncing” can occur when a user movesbetween several active application windows and a sidebar may appear torapidly reposition itself as the window focus changes, thus creatingvisual distraction. Due to such concerns, a sidebar may be disabled, yetthe value of the sidebar is lost when turned off, thereby renderingpotentially useful tangential information, such as document versionsavailable, document authorship, related documents available in the samefolder or Website or on the same topic, annotations available, whatother users are saying about the document, and other informationunavailable.

Accordingly, what is needed is an approach to providing a sidebar windowthat operates within the close context of a document provided in aprimary application window within behaviors adapted to minimize userdistraction.

SUMMARY

One embodiment provides a computer-implemented system and method forproviding context-sensitive sidebar window display on an electronicdesktop. A document that includes digital data is maintained inelectronic storage. The document is operated upon through an applicationwindow generated by an application program on an electronic desktop onan electronic desktop. A sidebar window is initially generated.Contextual information relevant to the document is determined. Part ofthe contextual information to present is selected based on a currentstate of the document in the application window. The selected part ofthe contextual information is presented in the sidebar window positionedvisually adjacent to the application window. The contextual informationpresented in and the positioning of the sidebar window is continuallyupdated in step with the current state of the document and theapplication window.

A further embodiment provides a computer-implemented system and methodfor managing a context-sensitive sidebar window. Contextual informationrelevant to an electronic document is determined. A portion of thedetermined contextual information is presented in a sidebar window. Adisplay of the context-sensitive sidebar window is managed byautomatically opening the context-sensitive sidebar window when theelectronic document is opened and automatically closing thecontext-sensitive sidebar window when the document is closed.

Still other embodiments will become readily apparent to those skilled inthe art from the following detailed description, wherein are describedembodiments by way of illustrating the best mode contemplated. As willbe realized, other and different embodiments are possible and theembodiments' several details are capable of modifications in variousobvious respects, all without departing from their spirit and the scope.Accordingly, the drawings and detailed description are to be regarded asillustrative in nature and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing an enterprise environment forproviding context-sensitive sidebar window display on an electronicdesktop in accordance with one embodiment.

FIG. 2 is a functional block diagram showing kernel functionalityprovided with an enterprise server and client computing systems, such asprovided in the enterprise environment 10 of FIG. 1.

FIG. 3 is a block diagram showing the overall architecture of theenterprise environment of FIG. 1.

FIG. 4 is a block diagram showing a schema for context networks asprovided through the enterprise environment of FIG. 1.

FIG. 5 is a block diagram showing, by way of example, a graph of acontext network.

FIG. 6 is a block diagram showing, by way of example, context analysisfrom human activity on a document using the content analysis engine ofFIG. 3.

FIG. 7 is a block diagram showing, by way of example, human activitythroughout the life of a document as a source of context with theenterprise environment of FIG. 1.

FIG. 8 is a data flow diagram showing document processing through thecontent analysis engine of FIG. 3.

FIG. 9 is a diagram showing, by way of example, a context-sensitivesidebar appearing directly to the right of an application window.

FIG. 10 is a diagram showing, by way of example, a context-sensitivesidebar adaptive to screen space within an application window.

FIG. 11 is a diagram showing, by way of example, a context-sensitivesidebar presented in a “minibar” mode.

FIG. 12 is a diagram showing, by way of example, a compact mode sidebarnext to an application window.

FIG. 13 is a diagram showing, by way of example, a space-saving sidebarwithin an application window.

FIG. 14 is a diagram showing, by way of example, a context-sensitivesidebar with adaptive window edge placement within an applicationwindow.

DETAILED DESCRIPTION Enterprise Environment

In an enterprise computing environment, users collaborate around manykinds of documents, including emails, web pages, office documents,spreadsheets, and presentations. Their activities around documentsinclude creating, reading, revising, mailing in attachments, placing inshared repositories, adding comments, tagging, annotating, printing, andother types of activities. FIG. 1 is a block diagram showing anenterprise environment 10 for providing a context-sensitive sidebarwindow display on an electronic desktop in accordance with oneembodiment. The environment 10 includes a set of users that execute wordprocessing, spreadsheet, email, presentation, Web browsing, and otherproductivity applications on personal computers and other similarprogrammable computing systems or devices 12 a-e. On each computingsystem, the applications are on an electronic desktop under the controlof a windowed operating environment, such as the Windows operatingsystem, licensed by Microsoft Corporation, Redmond, Wash., and the OS Xoperating system, licensed by Apple Inc., Cupertino, Calif. The windowedoperating environment provides a graphical user interface that presentscontent within one or more application windows on the electronicdesktop.

The computing systems are interconnected over a network 11, whichprovides access to each of the other computing systems and to diverseand distributed information resources. Information may also be madeavailable through a centrally-located enterprise server 13, similarlyinterconnected over the network 11, or from other devices situatedwithin or external to the immediate enterprise environment. Inparticular, the enterprise server 13 is operatively coupled to a storagedevice 14 in which information can be maintained for use by thecomputing systems 12 a-e and other devices. Both the client computingdevices 12 a-e and the enterprise server 13 include componentsconventionally found in general purpose programmable computing devices,such as a central processing unit, memory, input/output ports, networkinterfaces, and non-volatile storage. Other components are possible.

Context Extraction

The context of a document can be extracted by both analyzing the contentof a document and by analyzing the way that document is used by people,that is, how the document is created, read, revised, mailed, stored,augmented with comments, tagged, annotated, printed, and so forth. FIG.2 is a functional block diagram showing kernel functionality 20 providedwith an enterprise server 21 and client computing systems 24 a-c, suchas provided in the enterprise environment 10 of FIG. 1. The enterpriseserver 21 is coupled to a storage device 23 and interconnected with oneor more client computing devices 24 a-c via a network infrastructure 26.Comparable context extraction functionality is respectively provided onboth the enterprise server 21 and each of the client computing systems24 a-c through content-based information kernels 22 and 25 a-c.Architecturally, the kernels 22 and 25 a-c are the same, which enablesthe same type of context to be extracted independent of the platformtype or location.

Architecture

The kernels are part of a set of components, which extract context thatis propagated and used throughout the enterprise environment 10. FIG. 3is a block diagram showing the overall architecture 30 of the enterpriseenvironment 10 of FIG. 1. Kernels 31 a-b can be replicated on multiplecomputer systems and can synchronize, communicate, and share contextwith each other, as a form of federation. The collectors 32 a-b collectcontext about documents, emails, activities, tasks, annotations, links,people, organizations, and other data of potential interest within theenterprise environment 10. The collectors 32 a-b are context analysisengines, which collect and evaluate the context to discern, forinstance, which documents refer to which other documents, whichdocuments include which other documents (as is common with emailattachments), what tags or annotations people have applied to whichdocuments, what documents might be of interest to people in a particularwork group, what the documents are saying on some topic, how to bestcategorize the documents identified, what people are doing in terms oftheir activities vis-à-vis the documents, and other determinations.

Each of the collectors 32 a-b is respectively connected to a contextrepository 33 a-b through an application programming interface (API),which provides a data transport channel. The collected context is fedvia the API into each context repository 33 a-b for use by computingsystems, enterprise servers, and other devices permitted tocollaboratively use, modify, and share the context. Each contextrepository 33 a-b includes both a database for storing formatted data,and storage for maintaining unstructured documents and other data. Inturn, each context repository 33 a-b may optionally be federated withone or more other repositories to allow some or all of the context to beshared between the repositories.

Each of the context repositories 33 a-b is also respectively connectedto a set of presenters 34 a-b through a second APT, which provides adata transport channel and data transformation and conversion. Thecontext maintained by each context repository 33 a-b is provided via theAPI to one or more presenters 34 a-b, which provide the context to usersvia user interface mechanisms, including a context-sensitive sidebar, asfurther described below beginning with reference to FIG. 4. Thecontext-sensitive sidebar enables users to manipulate the context, aswell as perform other discrete or collaborative operations, such asannotating a document, sending an email reminder, or linking a Web page.

The context is generated by each of the set of collectors 32 a-b. Eachcollector 32 a-b includes functional modules for performing sharedannotation and tagging 35, entity-based indexing 36, activity analysisand prediction 37, linguistic and semantic analysis 38, metadataanalysis 39, social network analysis 40, semantic search 41, convertersand extractors 42, and document network analysis 43. Converters convertdocuments into other formats, including plain text and a sequence ofimages. Extractors then extract metadata from one or more projections,as when entities are found in the plain text that has been extractedfrom a document. Other functional modules are possible.

Context Network

Context information is provided to users through the presenters 34 a-b.FIG. 4 is a block diagram showing a schema for context network 50 asprovided through the enterprise environment 10 of FIG. 1. A contextnetwork 50 can be created to represent the linkages between specificdocuments, people, topics, human activities, and time and spacelocations. More specifically, the context network 50 can be formed byanalyzing the content of the documents 52 and of human activities aroundthe documents. The people-oriented elements of the context analysisengine in each collector 32 a-b, for instance, the shared annotation andtagging 35, activity analysis and prediction 37, and social networkanalysis 40 functional modules, facilitate linking people 51; documents52; entities and topics 53; teams, projects, and activities 54; andlocations in time and space 55 into a context network 50, and theresulting context network 50 is stored in a context repository 33 a-b.

The stored context networks 50 serve as a chief source of context forthe presenters 34 a-b. FIG. 5 is a block diagram showing, by way ofexample, a graph of a context network 60. The edges of the graphindicate relationships that have been discovered between specificdocuments, people, activities, topics, times, locations, and the like.As a result, a broader perspective is captured and stored, which can beinstrumental in creating sidebars that are sensitive to the contextapplicable to a specific document and more useful to a user than aconventional document-neutral, application-specific control.

Human Activity Contributions to Context

Generally speaking, documents are created and modified throughindividual and collaborative human effort. FIG. 6 is a block diagramshowing, by way of example, context analysis 70 from human activity on adocument using the content analysis engine of FIG. 3. A range ofactivities may occur during the life cycle of a document, which includecreating a related document 71 from another source document; emailing orelectronically transmitting 72 a document as, for instance, anattachment to a message; reusing content 73 from another source documentin a new document; creating a new version 74 of an existing document;annotating or electronically marking up 75 a document; using a documentat a remote location 76, such as when accessing a centralized documentrepository over an internetwork; tagging or electronically marking 77 adocument; or using a document at a meeting 78. Other human activitiescould also be performed upon or with a document. Based upon the humanactivities 71-78, context analysis can be performed by the contextanalysis engine in each collector 32 a-b, for instance, computingdocuments with matching text 79; computing documents with matchinglayout or images 80; recording linking of emails and attachments 81;recording linking of documents, annotations, and tags 82; and recordinglinking of documents to times, places, and meetings of use 83. Othertypes of context analysis are possible. The culmination of the contextanalysis 79-84 on the human activities 71-78 are embodied in a contextnetwork 85 stored in a context repository 33 a-b, which represents thecomputed linkages as edges in the context network 85, with weights addedto the edges to indicate stronger or weaker relationships. Other formsor representations of context network-type information are possible.

Human activities on documents usually occur in a pattern that is uniquefor each document, depending upon who, what, where, when, and how thedocument affects or applies to different parties. FIG. 7 is a blockdiagram showing, by way of example, human activity 90 throughout thelife of a document as a source of context within the enterpriseenvironment 10 of FIG. 1. As a starting point, a document can originate91 in traditional printed form and scanned or converted into anelectronic representation using optical character recognition or similartechnologies, be electronically created 92, or through a combination oftraditional and electronic means. The document may be automatically ormanually linked to related documents 93, such as via hyperlinks.Similarly, the document may be automatically or manually linked torelated versions 94 of the document, or to documents where content isreused 95. Conversely, emails 96, annotations 97, time and location 98,tags, 99, or activities and people 100 can be automatically or manuallylinked to the document. The document can be printed 101. The resultinglinked structures and other context are ultimately stored as context 102in a context repository 33 a-b.

Document Processing Flow

Documents and human activities performed on them provide sources ofcontext. FIG. 8 is a data flow diagram showing document processing 60through the content analysis engine of FIG. 3. In terms of documentcontent, the content analysis engine analyzes each document 111 toextract or compute metadata 112, page images 113, text 114, word boxes115 (rectangles that describe the width, height and position of eachword on each page), links 116, and overall structure 117. Additionalmodules (not shown) are used to analyze the human use context ofdocuments. The extracted metadata 112 is stored in a repository 118, orgraph database, for use by applications and is also evaluated for emailthreads 122, which can be detected from elements of the metadata 112,such as the sender and recipients of each email, the subject field ofthe email, and other elements. The page images 113 are stored into therepository 118 and also evaluated for illustrations 123 that areseparately stored into a related image finder index 121. Text 114 isstored into a keyword index of full text and metadata 119 and is alsoevaluated for any summaries 124, entities 125, and paragraphs 126. Text114 and paragraphs 126 are also processed by linguistic analysis 131,which generates entities 128, phrases 129, and knowledge representations130 that are stored into a semantic index 120. Word boxes 115 are usedas layout information to determine the beginning and ending points ofdocument paragraphs 126 and are stored in the key word index of fulltext and metadata 119, so that matches in the full text index will allowthe system to find the geometric location of matched words and phrasesin the generated page images.

Sidebar Examples

Conventional productivity applications use visually-separate windows,such as pop-up dialog or adjacently-appearing sidebar windows to displayextended information, but at the risk of creating eye and cursordistractions. In the embodiments described herein, the sidebar, alsoreferred to as a “context bar,” is used to provide context to a userregarding the immediate state of a current task being performed througha productivity application on a document or other written exchangecurrently in use, such as an email, spreadsheet, presentation, or Webpage.

The context-sensitive sidebar moves automatically and is adaptivelypositioned directly alongside the currently active application window.FIG. 9 is a diagram showing, by way of example, a context-sensitivesidebar appearing directly to the right of an application window 141,which can be, for instance, a Web browser, document reader, documenteditor, email reader, document folder browser, or other application. Theplacement of the sidebar 143 is intended to minimize eye and cursortravel, but can be on either side of, or above or below, the applicationwindow 141, as screen space 140 permits. The context is dynamicallyextracted and is directly relevant to the document currently in use. Aswell, the sidebar 143 is adapted to make optimal use of the screen spaceavailable based on the quantity of contextual information available andthe perceived user needs.

The context presented in the sidebar 143 is coupled to the document 142displayed in the active window. The sidebar 143, as a presenter 33(shown in FIG. 3), retrieves the context from the context repository 31.As described supra, the context is determined in advance or on-the-flyby a context analysis engine which operates as part of kernels 23 a-b(shown in FIG. 2) provided with each computing system. The sidebar 143can, for instance, discover the file name or Uniform Resource Locator(URL) of the document 142 and may also extract the contents of thatdocument 142.

The sidebar 143 can provide access to the context through several tools.For example, an alert tool 144 can be set to trigger the displaying of amessage or other action upon encountering specific content within thedocument 142, such as triggering the display of proposal-writingguidelines when the current document is an email that requests aproposal. An annotation tool 145 to display comments on document 142made in the past by this user or another user, or to add new comments todocument 142. A People, Places, and Topics tool 146 dynamicallyidentifies people, organizations, places, localities, and topicsdiscovered by the content analysis engine in the document 142 anddisplays information about related documents, people, places, or topicsas found in the context repository. Finally, a related content tool 147finds documents that have significant content in common with document142, such as similar or identical paragraphs, similar or identicalimages, or similar or identical pages. This related content tool 147 canuse document fingerprinting, paragraph fingerprinting, and imagefingerprinting to discover if any content in the document has beenviewed or stored previously, either by the current user or other usersin the enterprise, after which the related content tool 147 can retrieveand display information that pertains to the matching content.Fingerprints can be computed, for example, by taking the hash of theentire document file, or a hash of a part of the document, such as thetext of a paragraph. Other fingerprinting techniques are possible.

In basic form, the sidebar 143 addresses the problems of excessive eyeand cursor travel by placing the sidebar 143 closer to the active windowand by moving the sidebar, so that the sidebar remains close to theactive window when the active window moves, as well as addressing theproblem of too much irrelevant information by coupling displayedinformation directly to the currently active document.

In a further embodiment, the sidebar 143 can be enhanced for improveddynamic adaptation. For example, the sidebar 143 addresses the problemof excessive use of screen space by adapting its size, transparency andother properties based on the size and importance of the information tobe displayed. The enhancements non-exclusively include:

1) Adaptive Screen Space: The total area of the sidebar can beautomatically adjusted based on the amount of content to be displayed.FIG. 10 is a diagram showing, by way of example, a context-sensitivesidebar 152 adaptive to screen space 150 within an application window151. For example, if no context is available to be displayed for thecurrent document, the sidebar 152 may adopt a minimal height or widthrelative to the active window 151. Likewise, if only a small amount ofcontext is available to be displayed, the sidebar 152 may adopt just theminimal height or width necessary to make that context available and todisplay any input regions that are to be available to the user. Adaptivescreen space may be combined with semantic zooming, so that the kind ofinformation displayed is determined by the amount of screen spaceavailable. For example, when space is tight, annotations may besummarized, documents may be represented by small thumbnails or partialfile names, names of people may be abbreviated with initials, and so on.Furthermore, when the sidebar has no useful information to display, thesidebar 152 could appear as a context star icon, as further describedinfra.

2) Semi-Transparency (not shown): Elements of the sidebar, such as oneof the tools 144-147, that need to be displayed, but need not besalient, can be displayed in a semi-transparent fashion, so that theuser can see and read windows underneath the sidebar. For example, thetext input area of the annotation tool 145, can be rendered to appearsemi-transparently when the text input area contains no text and theuser is not interacting with the annotation tool 145.

3) Toolbar Presentation (not shown): A “toolbar presentation” of thesidebar 143 can be provided when the user wants to have some awarenessof context, but does not wish the sidebar 143 to take up screen spaceoutside of the boundaries of the active window 142. In toolbarpresentation mode, the sidebar 143 presents an information summarywithin the confines of the active window 142. For example, a smallamount of space within the status bar of a Web browser window could beused to tell the user how many annotations are available for the currentdocument, or to notify the user via an icon or text string that newversions of the current document exist. The toolbar presentation modecan also be clickable, where a user click will expand the sidebar 143 tofull size mode.

4) Animated Transitions (not shown): Animated transitions can be usedfor the appearance and disappearance of the sidebar 143, such as fadingin and fading out, or sliding in and sliding out, respectively, so thesidebar 143 draws less attention upon appearing or disappearing fromview.

5) Coordinated Window Management (not shown): To reduce the burden ofmanaging the sidebar 143, the sidebar 143 can travel, when possible,with the active window 142, so that managing the active window 142 alsomanages the sidebar 143. For example, given an active window A and asidebar C, sidebar C will open whenever window A opens; move to window Awhen window A becomes the active window, such as by fading out at itscurrent location and fading in at the location of window A; close whenwindow A closes, provided window A was the last active window; move whenwindow A moves; and shrink in height when window A shrinks in height, ifis not already smaller than the new height of window A. Window A couldalso be resized by dragging the edge or corner of sidebar C,particularly if a different mechanism is available to resize sidebar C.

6) Minibar: Situations may arise where full context is not needed, butmore context is needed than can be displayed in toolbar presentationmode. FIG. 11 is a diagram showing, by way of example, acontext-sensitive sidebar 162 presented in a “minibar” mode 160 next toan application window 161, such as through a narrow strip 162 withcontext communicated compactly using color, icons, and short textstrings. Likewise, in minibar mode, the user will be able to use compactinteractors, that is, logical arrows and labeled buttons, to initiateoperations, such as annotation, tagging, bookmarking, and so on. Totransition from minibar mode to full mode, the user can select a rightarrow button 163 on the minibar 162 that causes the full-width sidebarto appear in place of the minibar and animate smoothly to its fullwidth. A left arrow button on the full sidebar (not shown) collapses thesidebar back into a minibar 162.

For example, each tool in the full-sized sidebar may be assigned a smallrectangle 164-168. For instance, an “annotations” section 164, shown asa rectangle containing the letter ‘A,’ puts up a dialog box allowing theuser to view or add annotations. A “bookmarks” section 165, shown as arectangle containing the letter ‘B,’ allows the user to bookmark thecurrent document without expanding the sidebar. A “topics” section 166,shown as a rectangle containing the letter ‘T,’ may turn red if topicshave been identified for the document. Similarly, a “versions” section167, shown as a rectangle containing the letter ‘V,’ may turn red if anewer version exists or if documents with significant overlap in contenthave been found. Finally, a “search” section 168, shown as a rectanglecontaining the letter ‘S,’ may be clicked to bring up a search dialogbox to help the user find related content. For the topics or versions, apop-up tool tip can display a string (not shown), such as “topics forthis document exist,” “newer versions of this document exist,” or“similar content for this document exist,” respectively. Other compactinteractors are possible.

7) Context Star: A more compact mode of the sidebar, referred to as a“context star” sidebar, is possible that displays a single compact tool.FIG. 12 is a diagram showing, by way of example, a compact mode sidebar172 next to an application window 171. For purpose of discussion, thevarious appearances 173-176 of the context star 172 are shown appearingat the same time at different left to right positions, but, duringoperation, the context star 172 appears in just one place with anappearance 173-176 that changes at different times. The appearances173-176 include: New 173 (indicating that the active document has notbeen bookmarked, tagged, annotated, and so forth), Interesting 174(indicating that the active document has been bookmarked, tagged orannotated, but only for personal use, and not yet fully processed),Active 175 (indicating that the active document has been bookmarked,tagged or annotated, and fully processed, but only for personal use),Shared 176 (indicating that the document is interesting and will be madeavailable to others), or Active Shared (not shown) (Active and Shared).Still further context star appearances are possible. Clicking on thecontext star button causes interactors to appear that achieve theoperations of bookmarking, tagging, annotating, navigating to bookmarkeddocuments, navigating to other versions, and so on.

8) Multiple Sidebars (not shown): At times when the user is frequentlyswitching between two or more windows and making each the active windowin turn, the sidebar described so far will be constantly repositioningitself to be next to the currently active window. This repositioningbehavior can create a distracting impression that the sidebar is“bouncing around” on the electronic desktop. To counteract the problemof bouncing sidebars, more than one sidebar is displayed simultaneouslyand positioned next to the most recently active windows. If the user isbouncing back and forth between two or more windows, the sidebar displayremains stable during the interaction. Multiple sidebars require moretotal screen space than a single sidebar and can be combined with a“context star” sidebar or other technique to reduce the total screenspace used by each sidebar.

9) Tucking: To further save screen space and simplify window management,the sidebar can be positioned on top of an associated document window.FIG. 13 is a diagram showing, by way of example, a space-saving sidebar182 within an application window 181. The positioning takes into accountthe placement of important information and interaction targets on thedocument window, so that the sidebar does not obscure importantinformation nor prevent use of the interactors. Detection of theposition of high-value information in the underlying window 181 may bedone either by inspecting the structure of the underlying window as ahierarchy of user interface components 180, or less intrusively byperforming image processing operations on the window image to detectregions of low information content.

10) Adaptive Window Edge Placement: When the sidebar is displayedoutside of the application window to which the sidebar is attached, theplacement of the sidebar can be adjusted to be minimally disruptive to auser's work. FIG. 14 is a diagram showing, by way of example, acontext-sensitive sidebar 192 with adaptive window edge placement 190within an application window 191. To adapt window edge placement, thelocation and relative importance of each icon or other object on theelectronic desktop is first determined and importance values areassigned to each pixel. Either or both of vertical and horizontalpositioning of the sidebar is adjusted by evaluating the importancevalues with the number and value of pixels obscured by the sidebarminimized and adjacency of the sidebar to the application windowmaintained. For example, the sidebar 192 can appear to the right of atext editor window, but not be positioned flush with the top nor thebottom of the window. For instance, the sidebar 192 can be positionedbelow the top of the window to allow the user to see and interact with a“Shortcut” icon that is visible on the desktop. Adaptive window edgeplacement can be used to find a position that blocks as few targets,particularly high value targets, as possible, which include theMicrosoft Windows Start button, objects on the Windows task bar, windowcorners, buttons that minimize, maximize, and close windows, desktopicons, tool tray icons and so on. While the invention has beenparticularly shown and described as referenced to the embodimentsthereof, those skilled in the art will understand that the foregoing andother changes in form and detail may be made therein without departingfrom the spirit and scope.

1. A computer-implemented system for managing a context-sensitivesidebar window, comprising: contextual information relevant to anelectronic document; a presentation module to present a portion of thecontextual information in a sidebar window; and a window managementmodule to manage a display of the context-sensitive sidebar window byautomatically opening the context-sensitive sidebar window when theelectronic document is opened and automatically closing thecontext-sensitive sidebar window when the document is closed.
 2. Asystem according to claim 1, further comprising at least one of: awindow adjustment module to determine a total area of thecontext-sensitive sidebar window based on an amount of the contextualinformation to be displayed and to automatically adjust the area of thesidebar.
 3. A system according to claim 1, further comprising: apresentation module to present at least a portion of thecontext-sensitive sidebar window as semi-transparent.
 4. A systemaccording to claim 1, further comprising: a presentation module topresent the context-sensitive sidebar window as a toolbar.
 5. A systemaccording to claim 1, further comprising: a transition module to applyanimated transitions to the context-sensitive sidebar window comprisingone or more of fading in, fading out, sliding in, and sliding out ofview on a display.
 6. A system according to claim 1, wherein themanagement module further manages the context-sensitive sidebar windowbased on an active window for the electronic document by at least one ofmoving the context-sensitive sidebar window with the active window,shrinking the context-sensitive sidebar window with the active window,and resizing the active window based on a size of the context-sensitivesidebar window.
 7. A system according to claim 1, further comprising: apresentation module to present the context-sensitive sidebar window as aminibar comprising compact indicators for at least one of an annotationssection, a bookmark section, a topics section, a versions section, and asearch section.
 8. A system according to claim 1, further comprising: apresentation module to determine regions of low information content inthe electronic document and to position the context-sensitive sidebarwindow on top of the low information region of the electronic document.9. A system according to claim 1, further comprising: a presentationmodule to position the context-sensitive sidebar on an electronicdesktop such that a minimal number of targets on the electronic desktopare blocked.
 10. A system according to claim 1, wherein thecontext-sensitive sidebar window presents at least one of annotations ofthe electronic document, topics of the electronic document, and noticeof a newer version of the electronic document.
 11. Acomputer-implemented method for managing a context-sensitive sidebarwindow, comprising: determining contextual information relevant to anelectronic document; presenting a portion of the determined contextualinformation in a sidebar window; and managing a display of thecontext-sensitive sidebar window, comprising: automatically opening thecontext-sensitive sidebar window when the electronic document is opened;and automatically closing the context-sensitive sidebar window when thedocument is closed.
 12. A method according to claim 11, furthercomprising at least one of: determining a total area of thecontext-sensitive sidebar window based on an amount of the contextualinformation to be displayed; and automatically adjusting the area of thesidebar.
 13. A method according to claim 11, further comprising:displaying at least a portion of the context-sensitive sidebar window assemi-transparent.
 14. A method according to claim 11, furthercomprising: presenting the context-sensitive sidebar window as atoolbar.
 15. A method according to claim 11, further comprising:applying animated transitions to the context-sensitive sidebar windowcomprising one or more of fading in, fading out, sliding in, and slidingout of view on a display.
 16. A method according to claim 11, furthercomprising: managing the context-sensitive sidebar window based on anactive window for the electronic document, comprising at least one of:moving the context-sensitive sidebar window with the active window;shrinking the context-sensitive sidebar window with the active window;and resizing the active window based on a size of the context-sensitivesidebar window.
 17. A method according to claim 11, further comprising:presenting the context-sensitive sidebar window as a minibar comprisingcompact indicators for at least one of an annotations section, abookmark section, a topics section, a versions section, and a searchsection.
 18. A method according to claim 11, further comprising:determining regions of low information content in the electronicdocument; and positioning the context-sensitive sidebar window on top ofthe low information region of the electronic document.
 19. A methodaccording to claim 11, further comprising: positioning thecontext-sensitive sidebar on an electronic desktop such that a minimalnumber of targets on the electronic desktop are blocked.
 20. A methodaccording to claim 11, wherein the context-sensitive sidebar windowpresents at least one of annotations of the electronic document, topicsof the electronic document, and notice of a newer version of theelectronic document.